Seduct - A Proof Compiler for First Order Logic
نویسنده
چکیده
In this paper we present Seduct, which is a theorem prover for many–sorted first order logic. Seduct has been specially tailored to economically discharge proof obligations arising during the process of software verification. We will mainly describe those features of Seduct which distinguish this theorem prover from other theorem provers and which make it especially suited for software verification.
منابع مشابه
Roland Backhouse : Relational Theory of Data Types 5 David Basin : Program Synthesis as Higher Order Resolution
Introduction 4 Roland Backhouse: Relational Theory of Data Types 5 David Basin: Program Synthesis as Higher Order Resolution 6 Bettina Buth: Verification Support for Compiler Development 7 Debora Weber-Wulff: Growing Programs from Proofs 8 Jacques Loeckx (with M. Wolf): Constructive versus axiomatic and initial specifications 9 Friederike Nickl: An Algebraic/Axiomatic Interpretation of Data Flo...
متن کاملCompiling HOL4 to Native Code
We present a framework for extracting and compiling proof tools and theories from a higher order logic theorem prover, so that the theorem prover can be used as a platform for supporting reasoning in other applications. The framework is demonstrated on a small application that uses HOL4 to find proofs of arbitrary first order logic formulas.
متن کاملA Proof-Producing Software Compiler for a Subset of Higher Order Logic
We discuss a proof-producing compiler which translates first order recursion equations, defined in higher order logic, to assembly language. The front end of the compiler is based on a series of source-tosource translations, starting with a semantic CPS translation and culminating in graph-colouring register allocation. Equality of the original program and the result of register allocation is p...
متن کاملA Higher-Order Logic for Concurrent Termination-Preserving Refinement
Compiler correctness proofs for higher-order concurrent languages are difficult: they involve establishing a termination-preserving refinement between a concurrent high-level source language and an implementation that uses low-level shared memory primitives. However, existing logics for proving concurrent refinement either neglect properties such as termination, or only handle first-order state...
متن کاملAn Inductive Proof Method for Simulation-based Compiler Correctness
We study induction on the program structure as a proof method for bisimulation-based compiler correctness. We consider a first-order language with mutually recursive function definitions, system calls, and an environment semantics. The proof method relies on a generalization of compatibility of function definition with the bisimulation. We use the inductive method to show correctness of a form ...
متن کامل